package com.sunkyc.framework.system.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;


@ApiModel("路由配置信息")
@Data
@Accessors(chain = true)
@NoArgsConstructor
public class RouterVo implements Serializable {

    /**
     * 路由名字
     */
    @ApiModelProperty(value = "路由名字")
    private String name;

    /**
     * 组件地址
     */
    @ApiModelProperty(value = "组件路径")
    private String component;


    /**
     * 是否外链
     */
    @ApiModelProperty("是否外链")
    private Boolean isLink;


    @ApiModelProperty("菜单排序")
    private Integer menuSort;

    /**
     * 路由路径
     */
    @ApiModelProperty(value = "路由路径")
    private String path;


    /**
     * 路由重定向，有子集 children 时
     */
    @ApiModelProperty("路由重定向，有子集 children 时")
    private String redirect;


    /**
     * 其他元素
     */
    @ApiModelProperty(value = "其他元素")
    private MetaVo meta;

    /**
     * 子路由
     */
    @ApiModelProperty(value = "子路由")
    private List<RouterVo> children;

    /**
     * 路由id  后端构建树形菜单时候使用的key
     */
    private Long routerId;

    /**
     * 父路由id  后端构建树形菜单时候使用的标识
     */
    private Long parentId;

    private String treeNodeName;
}
